The advent of networked data processing systems, and, particularly, the network of networks referred to as the Internet, has spurred the introduction of distributed data processing services. In such systems, a client, typically remotely connected to the service provider via one or more networks, accesses a software application implemented on the remote data processing system which returns the results of the data processing activity to the client. It has become common to use the services represented by the World Wide Web (WWW) with its graphical user interface (GUI) orientation to provide the interface to such applications, which may be referred to a Web applications.
Typically, in such distributed processing systems, the client sends a request to the server. The request may include one or more parameters which may be inputs to the particular service requested. On the server side, the system builds a Web page for returning the response to the requesting client. The server accesses a server page containing code that defines the Web page. Embedded in the code for generating the page, i.e. HTML script, is code that is executable by the server to generate the necessary HTML script to display the results on the client machine.
A Web browser running on the client machine is an application that can interpret the response HTML and display the page on a conventional display such as a CRT monitor connected to the client machine. Commercially available Web browsers include Netscape Navigator®, Mozilla, Internet Explorer®, iCab, and Opera. Technologies for implementing distributed computing services in this way include Active Server Pages (ASP) and Java™ Server Pages (JSP). Additionally, such services may access server-side application software to perform some or all of the requested tasks via an environment-independent interprocess communication application program interface (API) such as DCOM (Distributed Component Object Model), CORBA (Common Object Request Broker Architecture) or Remote Method Invocation (RMI). In response to execution of the page by the browser, the application software generates dynamic data and returns the data to the client which then displays the data in accordance with the code defining the page.
An example of such an application might be a Web application that handles employee travel reporting. Such a Web application may include multiple interfaces constituting multiple frames or windows, for the display of output from the Web application, as well as entry of input data. The Web application may return a response to the user targeted to a frame specified in the request. In other words, the target frame or window for the response is specified when the request is initiated. It would be recognized by those of ordinary skill in the art that, for the purposes herein, there is no material distinction between a multiwindow document and a multiframe document. The term “multiframe” may be used to refer to both a multiframe document and a multiwindow document, generally, and frame or window may be used to collectively refer to a frame or windows. However, the Web application may generate a message, such as an error message, that should be targeted to a different frame, for example an error log. Because the target is specified when the request is initiated, it is problematic to retarget the response if the server-side processing encounters an error or other exception whereby a message is to be returned in a response to the client.
Thus, there is a need in the art for systems and methods for handling messages in a multiframe or multiwindow Web application.